package com.niit.service;

import com.niit.entity.Job;
import com.niit.entity.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;


public interface JobService {
    //发布职位信息
    void addJob(Job job);

    //修改职位信息
    void updateJob(Job job);

    //删除职位信息
    void deleteJob(Integer id);

    //根据id获取职位信息
    Job getJob(Integer id);

    //招聘者查看所有职位信息
    List<Job> getAllJobs();

    //招聘者查看自己的职位信息
    List<Job> getMyJobs(User user);

    //招聘者查看职位信息数量
    int getJobCount(User user);

    //招聘者搜索职位信息
    List<Job> searchJob(String keyword);


    Page<Job> getAllJobsByPage(Pageable pageable);

    //职位审核
    void auditJob(Integer id, Byte status);

    //多条件查询职位信息
    Page<Job> getJobsByCondition(String title, String publishUser, Byte status, Pageable pageable);

    //获取已审核的职位信息
    List<Job> getAuditedJobs();

    //条件查询职位信息（前台搜索）
     Page<Job> findJobsByCondition(String location, String salaryRange, String keyword, Pageable pageable);

}
